﻿
using System;

namespace Game.Terrain
{
    public struct TerrainBit
    {
        readonly string _Name;
        readonly double _Cost;

        public TerrainBit(string name, double cost = 1)
        {
            _Cost = cost;
            _Name = name;
        }
        
        public string Name
        {
            get { return _Name; }
        }

        public double Cost
        {
            get { return _Cost; }
        }

        public override string ToString()
        {
            return _Name;
        }

    }
    
    public static class TerrainBitTypes
    {
        public static readonly TerrainBit Nothing = new TerrainBit("Nothing", 0);
        public static readonly TerrainBit Water = new TerrainBit("Water");
        public static readonly TerrainBit Street = new TerrainBit("Street");
        public static readonly TerrainBit Railroad = new TerrainBit("Railroad", -0.75);
        public static readonly TerrainBit Port = new TerrainBit("Port");
        public static readonly TerrainBit Runway = new TerrainBit("Runway");
        public static readonly TerrainBit Pipeline = new TerrainBit("Pipeline");
        public static readonly TerrainBit PowerLine = new TerrainBit("PowerLine");
        public static readonly TerrainBit Mainland = new TerrainBit("Mainland");
        public static readonly TerrainBit Snow = new TerrainBit("Snow");
        public static readonly TerrainBit Hillside = new TerrainBit("Hillside", 0.75);
        public static readonly TerrainBit SmallRocks = new TerrainBit("SmallRocks", 0.5);
        public static readonly TerrainBit LargeRocks = new TerrainBit("LargeRocks", 0.5);
        public static readonly TerrainBit FrozenWater = new TerrainBit("FrozenWater");
        public static readonly TerrainBit River = new TerrainBit("River");
    }
}
